/**
    算法描述：
    核心问题：
    解决所需数据结构+算法：
**/
#include<iostream>
#include<cstring>
using namespace std;

int dp[1001][1001] = {0};
char a[1001], b[1001];

int main() {
    scanf("%s%s", a, b);
    int lo = strlen(a+1);
    int lt = strlen(b+1);
    for (int i=1; i<=lo; i++) {
        for (int j=1; j<=lt; j++) {
            if (a[i] == b[j])
                dp[i][j] = dp[i-1][j-1] + 1;
            else
                dp[i][j] = dp[i-1][j] > dp[i][j-1] ? dp[i-1][j] : dp[i][j-1];
        }
    }
    cout << dp[lo][lt] + 1 << endl;
    return 0;
}